package com.wtwd.campus.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.wtwd.campus.entity.LastLocationData;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author mjy
 * @since 2022-12-01
 */
public interface LastLocationDataService extends IService<LastLocationData> {


    /**
     * 插入或者更新
     *
     * @param lastLocationData
     * @return
     */
    boolean InsertOrUpdate(LastLocationData lastLocationData);


    /**
     * 根据设备id单个查询设备最后一次定位
     *
     * @param deviceId
     * @return
     */
    LastLocationData queryLastLocationDataByDeviceId(Integer deviceId);


    /**
     * 批量查询设备最后一次定位信息
     *
     * @param deviceIds
     * @return
     */
    List<LastLocationData> queryLastLocationDataByDeviceIds(List<Integer> deviceIds);


    /**
     * 根据imei单个查询设备最后一次定位
     *
     * @param imei
     * @return
     */
    LastLocationData queryLastLocationDataByImei(String imei);

    /**
     * 批量查询设备最后一次定位信息
     *
     * @param imeis
     * @return
     */
    List<LastLocationData> queryLastLocationDataByImeis(List<String> imeis);

    /**
     * 根据班级或者名称查询设备详细信息
     *
     * @param classId
     * @param imei
     * @param orgCode
     * @return
     */
    List<Map<String, Object>> getClassesLocationListByClassOrImei(Integer classId, String imei, String orgCode);

    /**
     * 批量查询学生的最后一次定位信息
     *
     * @param stuIdList
     * @return
     */
    List<Map<String, Object>> getLastLocationByStudentIds(List<Integer> stuIdList);

    /**
     * 根据设备id集合查询h5最后一次定位信息
     *
     * @param queryList
     * @return
     */
    List<Map<String, Object>> queryH5LastLocationDataByDeviceIds(List<Integer> queryList,Integer userId);
}
